-- lock 脚本
local key=KEYS[1]
local val=ARGV[1]
local ttl=tonumber(ARGV[2])

local localSet=redis.call('setnx',key,val)
if localSet==1 then
    redis.call('PEXPIRE',key,ttl)
else
    local value=redis.call('get',key)
    if val==value then
        localSet=1
        redis.call('PEXPIRE',key,ttl)
    end
end
return localSet

